/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.deployment.manager.editar;

import br.com.deployment.entidade.acesso.Usuario;
import br.com.deployment.entidade.protocolo.Pagamento;
import br.com.deployment.message.Msg;
import br.com.deployment.servico.PagamentoServico;
import br.com.deployment.servico.UsuarioServico;
import java.io.IOException;
import java.io.Serializable;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author elyjr
 */
@ManagedBean
@SessionScoped
public class ManagerEditarPagamento  implements Serializable{

    @EJB
    PagamentoServico pagamentoServico;
    
    @EJB
    UsuarioServico usuarioServico;
    
    private Usuario usuario;
    
    private Pagamento pagamento;
    
    private boolean comprovante;

    public ManagerEditarPagamento() {
        comprovante = false;
       
    }

    public void redirect(String string, Pagamento p) {
        try {
            FacesContext context = FacesContext.getCurrentInstance();
            pagamento = p;
            usuario = pagamento.getExecutante();
            getUsuarioContexto();
            context.getExternalContext().redirect(string);
        } catch (IOException ex) {
            Logger.getLogger(ManagerEditarPagamento.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    
    public void editar(){
        Msg.messagemInfo(" Pagamento Atualizado com Sucesso ");
        pagamento.setExecutante(usuario);
        pagamentoServico.atualizar(pagamento, comprovante);
    }

    public boolean isComprovante() {
        return comprovante;
    }

    public void setComprovante(boolean comprovante) {
        this.comprovante = comprovante;
    }
    
    
    
    public final void getUsuarioContexto() {
        try {
            usuario = usuarioServico.verificarUsuarioNome(FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal().getName());
        } catch (Exception e) {
            Msg.messagemWarn("Para adicionar um pagamento é necessário fazer o login");

        }
    }
    
    
    public Pagamento getPagamento() {
        return pagamento;
    }

    public void setPagamento(Pagamento pagamento) {
        this.pagamento = pagamento;
    }
    
    
    
    
}